package main

import (
	"github.com/jinzhu/gorm"
	_ "github.com/jinzhu/gorm/dialects/mysql"
)

// orm - 对象关系映射

// 尝试连接mysql：
// 先下载对应插件：
//		go get -u gorm.io/gorm
// 		go get -u gorm.io/driver/mysql
// 数据库创建好db1 数据库

type UserInfo struct {
	ID     uint
	Name   string
	Gender string
	Hobby  string
}

func main() {
	db, err := gorm.Open("mysql", "root:123456@(127.0.0.1:3306)/db1?charset=utf8mb4&parseTime=True&loc=Local")
	if err != nil {
		panic(err)
	}
	defer db.Close()

	// 这样可以 自动创建表  自动迁移 （把结构体和数据表进行映射）
	// 创建好db1 的数据库，执行后就可以发现多出一个表 user_infos
	db.AutoMigrate(&UserInfo{})

	// 创建数据行数据
	//u1 := UserInfo{0, "王二狗", "男", "鞠婧祎"}
	//db.Create(&u1)

	//var u UserInfo
	//查询
	//db.First(&u) // 只查询第一条数据
	//fmt.Printf("%#v\n", u)

	//更新数据库所有hobby都为鞠婧祎
	//db.Model(&u).Update("hobby", "鞠婧祎")

	// 没加条件，删除所有数据
	//db.Delete(&u)
}
